#ifndef DATADISPOSE_H
#define DATADISPOSE_H

#include <QString>
#include <QByteArray>
#include <QTcpSocket>
#include <QHostAddress>
#include <QList>
#include <QDomDocument>
#include <QTextStream>
#include <QFile>
#include <iostream>
#include <stdio.h>
#include <string.h>

#define USERSMAXNUM     200         //最大用户数量
#define GOBANGMAXNUM    24         //最大房间数量
#define USERXMLPATH     "userdata.xml"

using namespace std;

struct usrdata      //用户数据
{
    QString usrname;    //用户名称
    QString passwd;     //用户密码
    int score;          //用户积分
    QString friends;    //好友
    uint number;        //用户号码
    QTcpSocket *socket; //连接的客户端号码，每次连接都会更新，不在线则置为0
    QString date;       //注册时间
    int gobangnum;      //对弈局数
    int winnum;         //胜局数
    int lossnum;        //败局数
    int drawnum;        //平局数
    int room;           //所在房间号
    QString inform;     //通知
    int usrnumvalue;
};

extern QList<QTcpSocket*> socket_list;

extern usrdata m_usrdate[USERSMAXNUM];
extern int m_nUsrNums[USERSMAXNUM];
extern int m_nUsrNum;
extern QList<QTcpSocket*> socket_list;
extern char m_cGobangRoom[GOBANGMAXNUM][15][15];
extern int m_nUserRooms[GOBANGMAXNUM][30]; //玩家1 玩家1准备情况 玩家2 玩家2准备情况 玩家3 玩家4 玩家5。。。
                                        //准备情况为0则为没有准备
                                        //准备情况为1则为准备好了
                                        //双方都为1则为已经开局了
                                        //出现胜负的时候则都置为0，需要重新准备

void DisposeReadData(QTcpSocket *tcpsoc, QString readdata);
void SaveUserData();
void ReadUserData();



#endif // DATADISPOSE_H
